<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by Brian Teare (cScape Ltd) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified">
	<xs:attribute name="operation">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="new"/>
				<xs:enumeration value="update"/>
				<xs:enumeration value="delete"/>
				<xs:enumeration value="custom"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:attribute>
	<xs:attribute name="vartype">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="int"/>
				<xs:enumeration value="string"/>
				<xs:enumeration value="bool"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:attribute>
	<xs:attribute name="actiontype">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="pscmdlet"/>
				<xs:enumeration value="option2"/>
				<xs:enumeration value="option3"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:attribute>
	<xs:element name="customcommand">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="action" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="id" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="action">
		<xs:complexType>
			<xs:sequence minOccurs="0">
				<xs:element name="actionparameters" minOccurs="0">
					<xs:complexType>
						<xs:sequence maxOccurs="unbounded">
							<xs:element name="actionparameter">
								<xs:complexType>
									<xs:attribute ref="vartype" use="required"/>
									<xs:attribute name="name" use="required"/>
									<xs:attribute name="value"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="id" use="required"/>
			<xs:attribute ref="actiontype" use="required"/>
			<xs:attribute name="actionname" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="farm">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="server" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="id" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="server">
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:group ref="serveractions"/>
			</xs:sequence>
			<xs:attribute name="id" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="install">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="customcommand" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="farm"/>
				<xs:element ref="customcommand" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:group name="serveractions">
		<xs:sequence>
			<xs:element ref="customcommand" minOccurs="0"/>
			<xs:group ref="sharepointelements" minOccurs="0"/>
		</xs:sequence>
	</xs:group>
	<xs:group name="sharepointelements">
		<xs:sequence>
			<xs:element ref="webapplication" minOccurs="0"/>
			<xs:element ref="sitecollection" minOccurs="0"/>
			<xs:element ref="website" minOccurs="0"/>
		</xs:sequence>
	</xs:group>
	<xs:element name="webapplication">
		<xs:complexType>
			<xs:attribute name="id" use="required"/>
			<xs:attribute ref="operation" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="sitecollection">
		<xs:complexType>
			<xs:attribute name="id" use="required"/>
			<xs:attribute ref="operation" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="website">
		<xs:complexType>
			<xs:attribute name="id" use="required"/>
			<xs:attribute ref="operation" use="required"/>
		</xs:complexType>
	</xs:element>
</xs:schema>
